///*
//struct TreeNode {
//	int val;
//	struct TreeNode *left;
//	struct TreeNode *right;
//	TreeNode(int x) :
//			val(x), left(NULL), right(NULL) {
//	}
//};*/
//class Solution {
//public:
//	void tobl(TreeNode* cur, TreeNode*& prev)
//	{
//		if (cur == nullptr)
//			return;
//		tobl(cur->left, prev);
//		cur->left = prev;
//		if (prev != nullptr)
//			prev->right = cur;
//		prev = cur;
//		tobl(cur->right, prev);
//		return;
//	}
//	TreeNode* Convert(TreeNode* pRootOfTree) {
//		TreeNode* prev = nullptr;
//		tobl(pRootOfTree, prev);
//
//		TreeNode* head = pRootOfTree;
//		while (head && head->left != nullptr)
//		{
//			head = head->left;
//		}
//		return head;
//	}
//};
